package app.web.admin.domain.vo;

import com.gitee.feizns.dynamic.tree.NodeVo;
import com.mybatisflex.core.handler.JacksonTypeHandler;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * 许可权限响应对象
 * @author feizns
 * @since 2025/4/9
 */
@Data
@EqualsAndHashCode(callSuper=true)
public class MenuVo extends NodeVo<MenuVo, Long> {

    /**
     * 权限名字
     */
    private String name;

    /**
     * 标识符
     */
    private String identifier;

    /**
     * 权限排序字段
     */
    private Integer sort;

    /**
     * 额外信息
     */
    @com.mybatisflex.annotation.Column(typeHandler = JacksonTypeHandler.class)
    private Map<String, Object> extra = new LinkedHashMap<>();

}
